The invention relates generally to systems similar to network management systems that are provided by means of software with services by means of which the end user uses the system, for example controls the apparatuses in the network. More precisely, the invention relates to a method for producing application-specific computer-controlled services for a user of such a system. The invention also relates to a system for producing application-specific computer-controlled services.
There are several systems intended for code generation in the market. Such generators are typically intended for use at the beginning of programming and they cannot be used for making significant changes in finished applications rapidly and without any mistakes. In other words, known generators do not provide sufficient support for repeated changes and additions.
Several applications are also such that it should be possible to make changes therein as rapidly and correctly as possible. An example of such an application is a network management system wherein the network to be managed comprises several apparatuses of different types and the network changes continuously as the operator acquires devices from several different manufacturers and performs updatings on existing devices and their software. Especially with the new free competition in the field of telecommunications a need has occurred to continuously provide the users with new services, which further increases the importance of flexible possibilities of change.
The known systems are not very well suitable for applications of the type described above. This is for example due to the fact that the systems provide the designer with a great deal of detailed and therefore also secondary information from which it is difficult to find the essential parts (to which the changes are directed). The designer must also be able to control (understand) this information. Therefore the person who makes the changes must be an expert in the field of programming.
In such a system, there is also the danger that the designer changes such a part of the software that is not to be changed.
The purpose of the present invention is to eliminate the aforementioned drawback by providing a new type of arrangement for producing an application-specific service. This object is achieved with the method according to the invention that is characterized by what is described in the characterizing portion of the appended claim 1.
The idea of the invention is to create an environment where changes are as simple and clear as possible for the designer. This is possible by placing separately the code to be generated (a) in such a part (containing the default functionality) that the designer can ignore during the changes (so that it can be invisible) and (b) in a part that is visible to the designer and that requires changes to be made by the designer in each situation of change. The separation is based on the use of special template files and the changes are carried out by making a change corresponding to the change in the description file of the application, by regenerating the application framework and by thereafter making, if required, the changes that are to be carried out manually by the designer. In connection with the generation, the code generator modifies the template files on the basis of the description file of the application.
Due to the arrangement according to the invention, changes can be carried out rapidly and as faultlessly as possible. The product to be delivered to the user of the service can thus be made faultless rapidly. Due to the invention, it is even possible that changes are made by a person employed by the organization, such as the network operator, using the service, in which case the changes will be as flexible as possible.
The above-described advantages are based on the fact that the system increases the abstraction level of the designer""s work; the designer only sees the essential part (the parts requiring changes) of the application and the secondary matters (the complicated program code) are invisible. Therefore it is easier for the designer to locate the parts to which changes must be made. At the same time, this also decreases the possibility for the designer to accidentally change parts that are not to be edited.